cd2020 40723241

  • Home
    • Site Map
    • reveal
    • blog
  • About
  • week
    • week1-5
    • week6-9
    • week10-14
    • week15-18
  • assignments
    • assignments1
      • portable system
      • random grouping
      • Four wheel car
    • assignments2
      • IndustrialAndEngineeringProductDesignCollaboration
      • DesignCollaborationBetterProducts
      • MechanicalDesignProcess thirth segment
      • MechanicalDesignProcess first segment
    • assignments3
portable system << Previous Next >> Four wheel car

random grouping

要進行隨機分組及隨機點名,必須先了解程式裡導入的模組及在模組中所用的 
語法、迴圈:request、ast.literal_eval、random、for迴圈 
 
(1) request模組:此模組是為了可以使用 Python 來下載網頁上的資料,是以 
request模組建立適當的 HTTP 請求,透過 HTTP 請求從網頁伺服器下載 
指定的資料,分為兩種模式Post、Get。 

 上述我們將使用Get下載回來的資料存入到a變數,底下對於a變數我們能進行以下操作: 

  • url : 取得請求網址 
  • status_code : 伺服器回應的狀態碼 
  • text : 取得網頁 HTML 原始碼 

如遇上需要帶上querystring參數可以這樣使用: 參考文獻: https://ithelp.ithome.com.tw/articles/10206215 
﷟HYPERLINK "https://ithelp.ithome.com.tw/articles/10206215"
(2) ast模組: 此模組是python原始碼到位元組碼的一種中間產物,藉助ast 
模組可以從語法樹的角度分析原始碼結構,其中的語法ast.literal_eval 
是為了能夠安全地評估表達式節點或包含Python文字或容器顯示的字符 
串。提供的字符串或節點只能由以下Python文字結構組成:字符串、字 
節、數字、元組、列表、字典、集合、布林值、None。 

Compile函式 

先簡單瞭解一下compile函式。 

compile(source, filename, mode[, flags[, dont_inherit]])  

  • source -- 字串或者AST(Abstract Syntax Trees)物件。一般可將整個py檔案內容file.read()傳入。 
  • filename -- 程式碼檔名稱,如果不是從檔案讀取程式碼則傳遞一些可辨認的值。 
  • mode -- 指定編譯程式碼的種類。可以指定為 exec, eval, single。 
  • flags -- 變數作用域,區域性名稱空間,如果被提供,可以是任何對映物件。 
  • flags和dont_inherit是用來控制編譯原始碼時的標誌。 

 參考文獻:https://www.itread01.com/content/1544847254.html 
 
﷟HYPERLINK "https://www.itread01.com/content/1544847254.html"
(3) random模組:此模組用於生成偽隨機數,且有許多種用法,例如:隨機選取 
choice、隨機選取 sample (一次選多筆資料)、隨機調換順序 shuffle (就 
地調換順序)、隨機取得亂數 random (0~1之間的隨機亂數)、隨機取得亂 
數 uniform (可以指定範圍)。 
 
參考文獻: https://ithelp.ithome.com.tw/articles/10207483 

(4) for迴圈: 在處理資料的時候,時常會需要重複執行某些相同的步驟;而迴 
圈 (loop) 的作用是讓指定的某段敘述在條件符合的情況下一直重覆執行, 
是程式設計中很重要的一種控制結構,且分為兩類:for、while 

 
○ for迴圈基本語法:for 變數 in list、字串、range 
○ while迴圈基本語法:while 布林值 
 
  for迴圈及while迴圈比較: for迴圈比較適用在已知迴圈數的問題,而 
while迴圈則適用在「無法預知迴圈數」的問題上。 

語法 - for 

  • A 、D 都省略時,for迴圈 跟 while迴圈 執行起來完全一樣。 

for( [A.]一開始先做什麼事 ; [B.]條件式 ; [D.]等C每作完一次,就做什麼事 ){    [C.]當B條件成立時,就重覆做的事...} 

通常A、B、D所用到的變數會是一致的。 

 執行起來流程如下 

先做A ==> 檢查B條件,成立就做C,接著做D 

==> 檢查B條件,成立就做C,接著做D 

==> 檢查B條件,成立就做C,接著做D 

... 

... 

==> 檢查B條件,成立就做C,接著做D 

==> 檢查B條件,不成立離開 

 

範例1 - 班級名條 

code 

#include<iostream>using namespace std;int main(){    int n;    int i;    cin >> n;    for( i=1 ; i<=n ; i=i+1 )    {        cout << "No." << i << endl;    }    return 0;} 

for vs while 

input 

10 

output 

No.1No.2No.3No.4No.5No.6No.7No.8No.9No.10 

 
範例2 - 發射倒數 

  • 也可以是做完一次就減少i 

#include<iostream>using namespace std;int main(){    int i;    for( i=5 ; i>=1 ; i=i-1 )    {        cout << i << "..." << endl;    }    cout << "Go!" << endl;    return 0;} 
 
參考文獻: https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/cpp02/for_loop.html 


portable system << Previous Next >> Four wheel car

Copyright © All rights reserved | This template is made with by Colorlib